#ifndef BALANCER_CONTROL_H
#define BALANCER_CONTROL_H

#include <windows.h>
#include <stdio.h>
#include <iostream>

using namespace std;


#include <irrlicht.h>
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;


#include "UserInputEventReceiver.h"

#include <boost/shared_ptr.hpp>
using namespace boost;


static bool initialized = false;//singleton
class BalancerControl{


private:
	IrrlichtDevice* device;
	IVideoDriver* driver;



	shared_ptr<UserInputEventReceiver> inputHandler;

	//AudioDevice*
	
	//ObjControlSystem*
	//WorldFactory*


	BalancerControl();//singleton
	
public:
	static shared_ptr<BalancerControl> init();	//singleton


	void eventLoop();

};




#endif